package com.mmall.concurrency.example.singleton;

import com.mmall.concurrency.annoations.ThreadSafe;

/**
 * 饿汉模式
 * 单例实例在类装载时进行创建
 */
@ThreadSafe
public class SingletonExample6 {

    // 私有构造函数
    private SingletonExample6() {

    }

    // 单例对象(java中的定义和声明是一起的，而且声明作用范围是包涵当前范围而不是只包涵当前范围下文)
    private static SingletonExample6 instance = null;//静态域/静态块-》普通域/普通块-》构造函数

    static {
        instance = new SingletonExample6();
    }

    // 静态工厂方法
    public static SingletonExample6 getInstance() {
        return instance;
    }
}
